<?php
namespace Admin\Controller;
use Component\AdminController;


//用户权限控制器
class MgauthController extends AdminController{
    //显示用户权限列表
    function showlist(){
        $info = D('mgauth')->select();

        $rinfo = $this ->getMgnameInfo();

        $this -> assign('rinfo',$rinfo);

        $this -> assign('info', $info);
        $this -> display();
    }
    //从用户表中获得用户名信息（以矩阵键值对形式显示）
    function getMgnameInfo(){
        //查询全部用户的信息
        $rrinfo = D("sw_manager")->select(); //二维数组信息
        //array(1=>'经理',2=>'主管',3=>'总监')
        $rinfo = array();
        foreach($rrinfo as $k => $v){
            $rinfo[$v['mg_id']] = $v['mg_name'];//array(1=>'经理',2=>'主管')
        }
        return $rinfo;
    }
    //给用户进行权限分配
    function distribute($mgauth_id){
        if(!empty($_POST)){


            //利用RoleModel模型里边的一个专门方法实现权限分配
            $mgauth = new \Model\ MgauthModel();
            //saveAuth接收到一维数组信息
            $z = $mgauth -> saveAuth($_POST['authname'], $mgauth_id);

            if($z){

                $this -> success('分配权限成功！',U('showlist'));
            } else {
                $this -> error('分配权限失败！',U('showlist'));
            }
        } else {
            //根据用户id去用户表中查询对应的用户名
           // $rinfo = D("sw_role")->getByRole_id($role_id);
            $info = D('mgauth')->select($mgauth_id);

            $rinfo = $this ->getMgnameInfo();

            $this -> assign('rinfo',$rinfo);

            $this -> assign('info', $info);
            
            //$this -> assign('role_name', $rinfo['role_name']);
//
            //查询全部的权限信息，放入模板显示并进行权限分配
            $pauth_info = D('sw_auth')->where('auth_level=0')->select(); //父级权限
//print_r($pauth_info);
            $sauth_info = D('sw_auth')->where('auth_level=1')->select(); //次父级权限
            // print_r($sauth_info);
            $tauth_info = D('sw_auth')->where('auth_level=2')->select(); //次次父级权限

            //把当前用户对应的权限信息给查询出来
            $authinfo = D("mgauth")->select($mgauth_id);
            //print_r($authinfo);
            $auth_ids_arr = explode(',',$authinfo[0]['mgauth_auth_ids']); //数组auth_id 信息
//
//
            $this -> assign('auth_ids_arr', $auth_ids_arr);
            $this -> assign('pauth_info',$pauth_info);
            $this -> assign('sauth_info',$sauth_info);

            $this -> assign('tauth_info',$tauth_info);
//
            $this -> display();
        }
    }



    //删除用户权限表中用户
    function del($mgauth_id,$mgauth_mg_id)
    {
        //查询被修改商品的信息并传递给模板展示
        $model = D("mgauth");

        $res = $model->delete($mgauth_id);
        //获取对应管理员列表中用户
        $manager= D("sw_manager");
        $res1 = $manager->delete($mgauth_mg_id);
//        $sql = "select * from sw_manager where sw_manager.mg_id='$mgauth_mg_id'";
//        $mginfo = $manager->query($sql);


        if ($res&$res1) {
            //echo "<script type='text/javascript'>window.onload=function(){alert('数据删除成功');}</script>";
            $info = $model->select();
            $this->assign("info", $info);
            $rinfo = $this ->getMgnameInfo();
            $this -> assign('rinfo',$rinfo);
            $this->display("showlist");
            echo "<script type='text/javascript'>{alert('数据删除成功');}</script>";
            //$this->showlist();
            //$this->success('删除成功');

        } else {
            echo "<script type='text/javascript'>alert('数据删除失败');history.back(-1);</script>";
        }
    }


}